{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Introduction to Deep Learning Image Classification using Keras\n",
    "\n",
    "#### Presented by Pavlos Protopapas, Harvard Institute for Applied Computational Science\n",
    "\n",
    "\n",
    "This workshop will cover the following topics:\n",
    "\n",
    "* [Theory about neural networks, backpropagation, optimization, etc.](#part1)\n",
    "    * [From Linear to Deep Learning](#part11)\n",
    "    * [Components of Deep Learning](#part12)\n",
    "* [Keras basics (functions, etc.)](#part2)\n",
    "    * [Keras Installation](#part21)\n",
    "    * [Keras Basic - MNIST](#part22)\n",
    "* [Fundamentals of Machine Learning](#part3) \n",
    "<!-- * [Matplotlib visualization](#part4) -->\n",
    "* [References and Where to Learning More](#references)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id='part1'></a>\n",
    "## Part 1 - Theory about Neural Networks"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id='part11'></a>\n",
    "### 1.1 - From Linear to Deep Learning Models\n",
    "\n",
    "#### Beyond Linear Models\n",
    "\n",
    "Linear models can be fit efficiently via convex optimization, but the model capacity is limited.\n",
    "\n",
    "Alternative:\n",
    "$$ f(x) = w^T\\phi(x) $$\n",
    "where $\\phi$ is a *non-linear transform*\n",
    "\n",
    "A machine-learning model transforms its input data into meaningful outputs, a process that is “learned” from exposure to known examples of inputs and outputs. Therefore, the central problem in machine learning and deep learning is to meaningfully transform data: in other words, to learn useful *representations* of the input data at hand—representations that get us closer to the expected output.\n",
    "\n",
    "#### Traditional Machine Learning\n",
    "\n",
    "One option is to use a very generic $\\phi$. If $\\phi(x)$ is of high enough dimension, we can always have enough capacity to fit the training set, but generalization to the test set often remains poor. Very generic feature mappings are usually based only on the principle of local smoothness and do not encode enough prior information to solve advanced problems.\n",
    "\n",
    "Another option is to manually engineer $\\phi$. Until the advent of deep learning, this was the dominant approach. It requires decades of human eﬀort foreach separate task, with practitioners specializing in different domains, such as speech recognition or computer vision, and with little transfer between domains.\n",
    "\n",
    "#### Deep Learning\n",
    "\n",
    "Directly learn $\\phi$ with parameters $\\theta$, specifically:\n",
    "$$f(x;\\theta) = w^T\\phi(x;\\theta)$$\n",
    "\n",
    "\n",
    "We now have parameters $\\theta$ that we use to learn $\\phi$ from a broad class of functions, and parameters that map from $\\phi(x)$ to the desired output. This is an example of a deep feed-forward network, with $\\phi$ deﬁning a hidden layer. This approach is the only one of the three that gives up on the convexity of the training problem, but the beneﬁts outweigh the harms. In this approach, we parametrize the representation as $\\phi(x;\\theta)$ and use the optimization algorithm to ﬁnd the $\\theta$ that corresponds to a good representation. If we wish, this approach can capture the beneﬁt of the first approach by being highly generic—we do so by using a very broad family $\\phi(x;\\theta)$. Deep learning can also capture the beneﬁt of the second approach. Human practitioners can encode their knowledge to help generalization by designing families $\\phi(x;\\theta)$ that they expect will perform well. The advantage is that the human designer only needs to ﬁnd the right general function family rather than ﬁnding precisely the right function.\n",
    "\n",
    "![layers of representations](representations.png)\n",
    "\n",
    "The *deep* in *deep learning* isn’t a reference to any kind of deeper understanding achieved by the approach; rather, it stands for this idea of successive layers of representations. How many layers contribute to a model of the data is called the *depth* of the model. Other appropriate names for the field could have been *layered representations learning* and *hierarchical representations learning*. Modern deep learning often involves tens or even hundreds of successive layers of representations— and they’re all learned automatically from exposure to training data.\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id='part12'></a>\n",
    "### 1.2 - Components of Deep Learning\n",
    "\n",
    "To do machine learning, we need three things:\n",
    "* **Input** data points—For instance, if the task is speech recognition, these data points could be sound files of people speaking. If the task is image tagging, they could be pictures.\n",
    "* Examples of the expected **output** —In a speech-recognition task, these could be human-generated transcripts of sound files. In an image task, expected outputs could be tags such as “dog,” “cat,” and so on.\n",
    "* A **cost (or loss) function** which is a way to measure whether the algorithm is doing a good job. This is necessary in order to determine the distance between the algorithm’s current output and its expected output. The measurement is used as a feedback signal to adjust the way the algorithm works. This adjustment step is what we call *learning*.\n",
    "\n",
    "![components of deep learning](components.png)\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id='part2'></a>\n",
    "## Part 2 - Keras Basics"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "<a id='part21'></a>\n",
    "### Part 2.1 - Keras Installation\n",
    "\n",
    "If you haven't already, please install Keras using the instructions found at [https://keras.io/#installation](https://keras.io/#installation)\n",
    "\n",
    "Choose the TensorFlow installation instructions (found at [https://www.tensorflow.org/install/](https://www.tensorflow.org/install/) )\n",
    "\n",
    "Note the following:\n",
    "\n",
    "* cuDNN is only required if your machine has an NVidia graphics card (GPU)\n",
    "* For this tutorial, HDF5 and h5py are not required\n",
    "* graphviz and pydot are not required"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id='part22'></a>\n",
    "### Part 2.2 - Keras Basics\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n",
      "/Users/pavlos/anaconda3/lib/python3.6/importlib/_bootstrap.py:219: RuntimeWarning: compiletime version 3.5 of module 'tensorflow.python.framework.fast_tensor_util' does not match runtime version 3.6\n",
      "  return f(*args, **kwds)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "'2.1.2'"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import keras\n",
    "keras.__version__"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# A first look at a neural network\n",
    "\n",
    "This notebook contains the code samples found in Chapter 2, Section 1 of [Deep Learning with Python](https://www.manning.com/books/deep-learning-with-python?a_aid=keras&a_bid=76564dff). Note that the original text features far more content, in particular further explanations and figures: in this notebook, you will only find source code and related comments.\n",
    "\n",
    "----\n",
    "\n",
    "We will now take a look at a first concrete example of a neural network, which makes use of the Python library Keras to learn to classify \n",
    "hand-written digits. Unless you already have experience with Keras or similar libraries, you will not understand everything about this \n",
    "first example right away. You probably haven't even installed Keras yet. Don't worry, that is perfectly fine. In the next chapter, we will \n",
    "review each element in our example and explain them in detail. So don't worry if some steps seem arbitrary or look like magic to you! \n",
    "We've got to start somewhere.\n",
    "\n",
    "The problem we are trying to solve here is to classify grayscale images of handwritten digits (28 pixels by 28 pixels), into their 10 \n",
    "categories (0 to 9). The dataset we will use is the MNIST dataset, a classic dataset in the machine learning community, which has been \n",
    "around for almost as long as the field itself and has been very intensively studied. It's a set of 60,000 training images, plus 10,000 test \n",
    "images, assembled by the National Institute of Standards and Technology (the NIST in MNIST) in the 1980s. You can think of \"solving\" MNIST \n",
    "as the \"Hello World\" of deep learning -- it's what you do to verify that your algorithms are working as expected. As you become a machine \n",
    "learning practitioner, you will see MNIST come up over and over again, in scientific papers, blog posts, and so on.\n",
    "\n",
    "\n",
    "![MNIST digits](MNIST.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The MNIST dataset comes pre-loaded in Keras, in the form of a set of four Numpy arrays:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from keras.datasets import mnist\n",
    "\n",
    "(train_images, train_labels), (test_images, test_labels) = mnist.load_data()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`train_images` and `train_labels` form the \"training set\", the data that the model will learn from. The model will then be tested on the \n",
    "\"test set\", `test_images` and `test_labels`. Our images are encoded as Numpy arrays, and the labels are simply an array of digits, ranging \n",
    "from 0 to 9. There is a one-to-one correspondence between the images and the labels.\n",
    "\n",
    "Let's have a look at the training data:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(60000, 28, 28)"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_images.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "60000"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(train_labels)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], dtype=uint8)"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "np.unique(train_labels)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.image.AxesImage at 0x11d522518>"
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11d4f7358>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pylab as plt\n",
    "%matplotlib inline \n",
    "\n",
    "plt.imshow(test_images[2,:,:])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's have a look at the test data:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(10000, 28, 28)"
      ]
     },
     "execution_count": 72,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_images.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "10000"
      ]
     },
     "execution_count": 73,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(test_labels)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([7, 2, 1, ..., 4, 5, 6], dtype=uint8)"
      ]
     },
     "execution_count": 74,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_labels"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(10000, 28, 28)"
      ]
     },
     "execution_count": 75,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_images.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Our workflow will be as follow: first we will present our neural network with the training data, `train_images` and `train_labels`. The \n",
    "network will then learn to associate images and labels. Finally, we will ask the network to produce predictions for `test_images`, and we \n",
    "will verify if these predictions match the labels from `test_labels`.\n",
    "\n",
    "Let's build our network -- again, remember that you aren't supposed to understand everything about this example just yet."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from keras import models\n",
    "from keras import layers\n",
    "\n",
    "network = models.Sequential()\n",
    "network.add(layers.Dense(12, activation='relu', input_shape=(28 * 28,)))\n",
    "network.add(layers.Dense(12, activation='relu', input_shape=(12,)))\n",
    "network.add(layers.Dense(10, activation='softmax'))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "The core building block of neural networks is the \"layer\", a data-processing module which you can conceive as a \"filter\" for data. Some \n",
    "data comes in, and comes out in a more useful form. Precisely, layers extract _representations_ out of the data fed into them -- hopefully \n",
    "representations that are more meaningful for the problem at hand. Most of deep learning really consists of chaining together simple layers \n",
    "which will implement a form of progressive \"data distillation\". A deep learning model is like a sieve for data processing, made of a \n",
    "succession of increasingly refined data filters -- the \"layers\".\n",
    "\n",
    "Here our network consists of a sequence of two `Dense` layers, which are densely-connected (also called \"fully-connected\") neural layers. \n",
    "The second (and last) layer is a 10-way \"softmax\" layer, which means it will return an array of 10 probability scores (summing to 1). Each \n",
    "score will be the probability that the current digit image belongs to one of our 10 digit classes.\n",
    "\n",
    "To make our network ready for training, we need to pick three more things, as part of \"compilation\" step:\n",
    "\n",
    "* A loss function: the is how the network will be able to measure how good a job it is doing on its training data, and thus how it will be \n",
    "able to steer itself in the right direction.\n",
    "* An optimizer: this is the mechanism through which the network will update itself based on the data it sees and its loss function.\n",
    "* Metrics to monitor during training and testing. Here we will only care about accuracy (the fraction of the images that were correctly \n",
    "classified).\n",
    "\n",
    "The exact purpose of the loss function and the optimizer will be made clear throughout the next two chapters."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "network.compile(optimizer='rmsprop',\n",
    "                loss='categorical_crossentropy',\n",
    "                metrics=['accuracy'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "Before training, we will preprocess our data by reshaping it into the shape that the network expects, and scaling it so that all values are in \n",
    "the `[0, 1]` interval. Previously, our training images for instance were stored in an array of shape `(60000, 28, 28)` of type `uint8` with \n",
    "values in the `[0, 255]` interval. We transform it into a `float32` array of shape `(60000, 28 * 28)` with values between 0 and 1."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "train_images = train_images.reshape((60000, 28 * 28))\n",
    "train_images = train_images.astype('float32') / 255\n",
    "\n",
    "test_images = test_images.reshape((10000, 28 * 28))\n",
    "test_images = test_images.astype('float32') / 255"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We also need to categorically encode the labels, a step which we explain in chapter 3:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from keras.utils import to_categorical\n",
    "\n",
    "train_labels = to_categorical(train_labels)\n",
    "test_labels = to_categorical(test_labels)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We are now ready to train our network, which in Keras is done via a call to the `fit` method of the network: \n",
    "we \"fit\" the model to its training data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/25\n",
      "60000/60000 [==============================] - 1s 19us/step - loss: 0.6976 - acc: 0.8090\n",
      "Epoch 2/25\n",
      "60000/60000 [==============================] - 1s 16us/step - loss: 0.3340 - acc: 0.9054\n",
      "Epoch 3/25\n",
      "60000/60000 [==============================] - 1s 16us/step - loss: 0.2933 - acc: 0.9168\n",
      "Epoch 4/25\n",
      "60000/60000 [==============================] - 1s 16us/step - loss: 0.2712 - acc: 0.9237\n",
      "Epoch 5/25\n",
      "60000/60000 [==============================] - 1s 16us/step - loss: 0.2544 - acc: 0.9280\n",
      "Epoch 6/25\n",
      "60000/60000 [==============================] - 1s 16us/step - loss: 0.2403 - acc: 0.9323\n",
      "Epoch 7/25\n",
      "60000/60000 [==============================] - 1s 16us/step - loss: 0.2292 - acc: 0.9353\n",
      "Epoch 8/25\n",
      "60000/60000 [==============================] - 1s 16us/step - loss: 0.2206 - acc: 0.9374\n",
      "Epoch 9/25\n",
      "60000/60000 [==============================] - 1s 18us/step - loss: 0.2136 - acc: 0.9396\n",
      "Epoch 10/25\n",
      "60000/60000 [==============================] - 1s 17us/step - loss: 0.2067 - acc: 0.9417\n",
      "Epoch 11/25\n",
      "60000/60000 [==============================] - 1s 17us/step - loss: 0.2022 - acc: 0.9424\n",
      "Epoch 12/25\n",
      "60000/60000 [==============================] - 1s 16us/step - loss: 0.1958 - acc: 0.9441\n",
      "Epoch 13/25\n",
      "60000/60000 [==============================] - 1s 16us/step - loss: 0.1921 - acc: 0.9451\n",
      "Epoch 14/25\n",
      "60000/60000 [==============================] - 1s 18us/step - loss: 0.1882 - acc: 0.9454\n",
      "Epoch 15/25\n",
      "60000/60000 [==============================] - 1s 18us/step - loss: 0.1848 - acc: 0.9471\n",
      "Epoch 16/25\n",
      "60000/60000 [==============================] - 1s 16us/step - loss: 0.1814 - acc: 0.9481\n",
      "Epoch 17/25\n",
      "60000/60000 [==============================] - 1s 16us/step - loss: 0.1793 - acc: 0.9485\n",
      "Epoch 18/25\n",
      "60000/60000 [==============================] - 1s 16us/step - loss: 0.1755 - acc: 0.9497\n",
      "Epoch 19/25\n",
      "60000/60000 [==============================] - 1s 18us/step - loss: 0.1737 - acc: 0.9504\n",
      "Epoch 20/25\n",
      "60000/60000 [==============================] - 1s 18us/step - loss: 0.1719 - acc: 0.9504\n",
      "Epoch 21/25\n",
      "60000/60000 [==============================] - 1s 19us/step - loss: 0.1692 - acc: 0.9512\n",
      "Epoch 22/25\n",
      "60000/60000 [==============================] - 1s 19us/step - loss: 0.1674 - acc: 0.9518\n",
      "Epoch 23/25\n",
      "60000/60000 [==============================] - 1s 18us/step - loss: 0.1658 - acc: 0.9522\n",
      "Epoch 24/25\n",
      "60000/60000 [==============================] - 1s 19us/step - loss: 0.1633 - acc: 0.9525\n",
      "Epoch 25/25\n",
      "60000/60000 [==============================] - 1s 18us/step - loss: 0.1628 - acc: 0.9526\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<keras.callbacks.History at 0x11c525b00>"
      ]
     },
     "execution_count": 92,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "network.fit(train_images, train_labels, epochs=25, batch_size=128)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Two quantities are being displayed during training: the \"loss\" (categorical cross entropy) of the network over the training data, and the accuracy of the network over \n",
    "the training data.\n",
    "\n",
    "We quickly reach an accuracy of 0.989 (i.e. 98.9%) on the training data. Now let's check that our model performs well on the test set too:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "10000/10000 [==============================] - 0s 47us/step\n"
     ]
    }
   ],
   "source": [
    "test_loss, test_acc = network.evaluate(test_images, test_labels)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "test_acc: 0.9828 test_loss 0.0973857346142\n"
     ]
    }
   ],
   "source": [
    "print('test_acc:', test_acc, 'test_loss', test_loss)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "Our test set accuracy turns out to be 97.8% -- that's quite a bit lower than the training set accuracy. \n",
    "This gap between training accuracy and test accuracy is an example of \"overfitting\", \n",
    "the fact that machine learning models tend to perform worse on new data than on their training data. \n",
    "Overfitting will be a central topic in next section.\n",
    "\n",
    "This concludes our very first example -- you just saw how we could build and a train a neural network to classify handwritten digits, in \n",
    "less than 20 lines of Python code. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id='part3'></a>\n",
    "### Part 3 - Fundamentals of Machine Learning"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The MNIST example is a category of machine learning called *supervised learning*. This is by far the most common case. It consists of learning to map input data to known targets (also called *annotations*), given a set of examples (often annotated by humans).  Generally, almost all applications of deep learning that are in the spotlight these days belong in this category, such as optical character recognition, speech recognition, image classification, and language translation.\n",
    "\n",
    "#### Evaluating machine-learning models\n",
    "\n",
    "In the MNIST example, we split the data into a training set and a test set. The reason not to evaluate the models on the same data they were trained on quickly became evident: after just a few epochs, all the model began to *overfit*. That is, their performance on never-before-seen data started stalling (or worsening) compared to their performance on the training data—which always improves as training progresses.\n",
    "\n",
    "In machine learning, the goal is to achieve models that *generalize*—that perform well on never-before-seen data—and overfitting is the central obstacle. You can only control that which you can observe, so it’s crucial to be able to reliably measure the generalization power of your model. The following sections look at strategies for mitigating overfitting and maximizing generalization. In this section, we’ll focus on how to measure generalization: how to evaluate machine-learning models.\n",
    "\n",
    "At the end of the day, you’ll end up with a model that performs artificially well on the training data, because that’s what you optimized it for. You care about performance on completely new data, not the training data, so you need to use a completely different, never-before-seen dataset to evaluate the model: the test dataset. Your model shouldn’t have had access to any information about the test set, even indirectly. If anything about the model has been tuned based on test set performance, then your measure of generalization will be flawed.\n",
    "\n",
    "Splitting your data into training and test sets may seem straightforward, but there are a few advanced ways to do it that can come in handy when little data is available. Let’s review three classic evaluation recipes: simple hold-out validation, K-fold validation, and iterated K-fold validation with shuffling.\n",
    "\n",
    "#### Simple Hold-out Validation\n",
    "\n",
    "This is what we did with the MNIST data. Set apart some fraction of your data as your test set. Train on the remaining data, and evaluate on the test set. \n",
    "\n",
    "![hold out validation](holdout.png)\n",
    "\n",
    "This is the simplest evaluation protocol, and it suffers from one flaw: if little data is available, then your training and test sets may contain too few samples to be statistically representative of the data at hand. This is easy to recognize: if different random shuffling rounds of the data before splitting end up yielding very different measures of model performance, then you’re having this issue. K-fold validation and iterated K-fold validation are two ways to address this, as discussed next.\n",
    "\n",
    "\n",
    "#### K-fold Validation\n",
    "\n",
    "With this approach, you split your data into $K$ partitions of equal size. For each partition `i`, train a model on the remaining $K – 1$ partitions, and evaluate it on partition `i`. Your final score is then the averages of the $K$ scores obtained. This method is helpful when the performance of your model shows significant variance based on your train-test split. Like hold-out validation, this method doesn’t exempt you from using a distinct validation set for model calibration.\n",
    "\n",
    "![K-fold validation](kfold.png)\n",
    "\n",
    "#### Iterated K-Fold Validation with Shuffling\n",
    "\n",
    "This one is for situations in which you have relatively little data available and you need to evaluate your model as precisely as possible. This can be helpful in Kaggle competitions. It consists of applying K-fold validation multiple times, shuffling the data every time before splitting it $K$ ways. The final score is the average of the scores obtained at each run of K-fold validation. Note that you end up training and evaluating $P \\times K$ models (where $P$ is the number of iterations you use), which can very expensive.\n",
    "\n",
    "#### Overfitting and Underfitting\n",
    "\n",
    "In the MNIST case, the performance of the model on the held-out validation data always peaked after a few epochs and then began to degrade: the model quickly started to overfit to the training data. Overfitting happens in every machine-learning problem. Learning how to deal with overfitting is essential to mastering machine learning.\n",
    "The fundamental issue in machine learning is the tension between optimization and generalization. *Optimization* refers to the process of adjusting a model to get the best performance possible on the training data (the *learning* in *machine learning*), whereas *generalization* refers to how well the trained model performs on data it has never seen before. The goal of the game is to get good generalization, of course, but you don’t control generalization; you can only adjust the model based on its training data.\n",
    "At the beginning of training, optimization and generalization are correlated: the lower the loss on training data, the lower the loss on test data. While this is happening, your model is said to be *underfit*: there is still progress to be made; the network hasn’t yet modeled all relevant patterns in the training data. But after a certain number of iterations on the training data, generalization stops improving, and validation metrics stall and then begin to degrade: the model is starting to overfit. That is, it’s beginning to learn patterns that are specific to the training data but that are misleading or irrelevant when it comes to new data.\n",
    "To prevent a model from learning misleading or irrelevant patterns found in the training data, *the best solution is to get more training data*. A model trained on more data will naturally generalize better. When that isn’t possible, the next-best solution is to modulate the quantity of information that your model is allowed to store or to add constraints on what information it’s allowed to store. If a network can only afford to memorize a small number of patterns, the optimization process will force it to focus on the most prominent patterns, which have a better chance of generalizing well.\n",
    "The processing of fighting overfitting this way is called *regularization*. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Pima Indians onset for diabetes\n",
    "\n",
    "<!--\n",
    "<a id='part4'></a>\n",
    "### Part 4 - Matplotlib Visualization\n",
    "-->"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In this exercise we are going to use the Pima Indians onset of diabetes dataset. This is a standard machine learning dataset available for free download from the UCI Machine Learning repository. It describes patient medical record data for Pima Indians and whether they had an onset of diabetes within five years. It is a binary classification problem (onset of diabetes as 1 or not as 0). The input variables that describe each patient are numerical and have varying scales. Below lists the eight attributes for the dataset:\n",
    "1. Number of times pregnant.\n",
    "2. Plasma glucose concentration a 2 hours in an oral glucose tolerance test.\n",
    "3. Diastolic blood pressure (mm Hg).\n",
    "4. Triceps skin fold thickness (mm).\n",
    "5. 2-Hour serum insulin (mu U/ml).\n",
    "6. Body mass index.\n",
    "7. Diabetes pedigree function.\n",
    "8. Age (years).\n",
    "9. Class, onset of diabetes within five years.\n",
    "\n",
    "pima-indians-diabetes.csv"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [],
   "source": [
    "from keras.models import Sequential\n",
    "from keras.layers import Dense\n",
    "import numpy as np\n",
    "import matplotlib.pylab as plt \n",
    "\n",
    "%matplotlib inline\n",
    "# fix random seed for reproducibility\n",
    "np.random.seed(8)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [],
   "source": [
    "dataset = np.loadtxt('pima-indians-diabetes.csv', delimiter=\",\")\n",
    "X = dataset[:, 0:8]\n",
    "y = dataset[:,8]\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {},
   "outputs": [],
   "source": [
    "# create model \n",
    "model = Sequential()\n",
    "model.add(Dense(12, input_dim=8, activation='relu'))\n",
    "#model.add(Dense(8,  activation = 'relu'))\n",
    "model.add(Dense(1, activation='sigmoid'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#compile model \n",
    "model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 368 samples, validate on 182 samples\n",
      "Epoch 1/200\n",
      "368/368 [==============================] - 0s 957us/step - loss: 7.3895 - acc: 0.3995 - val_loss: 7.1664 - val_acc: 0.3736\n",
      "Epoch 2/200\n",
      "368/368 [==============================] - 0s 121us/step - loss: 5.1212 - acc: 0.5000 - val_loss: 6.2367 - val_acc: 0.4451\n",
      "Epoch 3/200\n",
      "368/368 [==============================] - 0s 118us/step - loss: 4.6175 - acc: 0.5136 - val_loss: 5.1447 - val_acc: 0.4670\n",
      "Epoch 4/200\n",
      "368/368 [==============================] - 0s 120us/step - loss: 3.6030 - acc: 0.5462 - val_loss: 3.1247 - val_acc: 0.5879\n",
      "Epoch 5/200\n",
      "368/368 [==============================] - 0s 118us/step - loss: 2.4718 - acc: 0.5951 - val_loss: 1.7917 - val_acc: 0.6429\n",
      "Epoch 6/200\n",
      "368/368 [==============================] - 0s 111us/step - loss: 1.8772 - acc: 0.5978 - val_loss: 1.6080 - val_acc: 0.6484\n",
      "Epoch 7/200\n",
      "368/368 [==============================] - 0s 132us/step - loss: 1.6574 - acc: 0.6114 - val_loss: 1.5140 - val_acc: 0.6154\n",
      "Epoch 8/200\n",
      "368/368 [==============================] - 0s 107us/step - loss: 1.4025 - acc: 0.6060 - val_loss: 1.2319 - val_acc: 0.6648\n",
      "Epoch 9/200\n",
      "368/368 [==============================] - 0s 111us/step - loss: 1.3217 - acc: 0.5978 - val_loss: 1.1800 - val_acc: 0.6154\n",
      "Epoch 10/200\n",
      "368/368 [==============================] - 0s 136us/step - loss: 1.1645 - acc: 0.5897 - val_loss: 1.1225 - val_acc: 0.6099\n",
      "Epoch 11/200\n",
      "368/368 [==============================] - 0s 120us/step - loss: 1.1479 - acc: 0.5842 - val_loss: 1.2227 - val_acc: 0.5440\n",
      "Epoch 12/200\n",
      "368/368 [==============================] - 0s 123us/step - loss: 1.0346 - acc: 0.6005 - val_loss: 0.9080 - val_acc: 0.6319\n",
      "Epoch 13/200\n",
      "368/368 [==============================] - 0s 129us/step - loss: 0.9464 - acc: 0.6005 - val_loss: 0.9085 - val_acc: 0.6374\n",
      "Epoch 14/200\n",
      "368/368 [==============================] - 0s 108us/step - loss: 0.9587 - acc: 0.6223 - val_loss: 1.1968 - val_acc: 0.5220\n",
      "Epoch 15/200\n",
      "368/368 [==============================] - 0s 111us/step - loss: 0.9341 - acc: 0.6087 - val_loss: 0.8772 - val_acc: 0.6209\n",
      "Epoch 16/200\n",
      "368/368 [==============================] - 0s 114us/step - loss: 0.8580 - acc: 0.6413 - val_loss: 1.0476 - val_acc: 0.5275\n",
      "Epoch 17/200\n",
      "368/368 [==============================] - 0s 111us/step - loss: 0.8567 - acc: 0.6141 - val_loss: 0.8030 - val_acc: 0.6484\n",
      "Epoch 18/200\n",
      "368/368 [==============================] - 0s 110us/step - loss: 0.7797 - acc: 0.6277 - val_loss: 0.7457 - val_acc: 0.6484\n",
      "Epoch 19/200\n",
      "368/368 [==============================] - 0s 119us/step - loss: 0.7950 - acc: 0.5951 - val_loss: 0.7390 - val_acc: 0.6593\n",
      "Epoch 20/200\n",
      "368/368 [==============================] - 0s 111us/step - loss: 0.7640 - acc: 0.6277 - val_loss: 0.7219 - val_acc: 0.6813\n",
      "Epoch 21/200\n",
      "368/368 [==============================] - 0s 121us/step - loss: 0.7600 - acc: 0.6386 - val_loss: 0.7966 - val_acc: 0.6209\n",
      "Epoch 22/200\n",
      "368/368 [==============================] - 0s 123us/step - loss: 0.7309 - acc: 0.6440 - val_loss: 0.7347 - val_acc: 0.6813\n",
      "Epoch 23/200\n",
      "368/368 [==============================] - 0s 126us/step - loss: 0.7377 - acc: 0.6386 - val_loss: 0.7240 - val_acc: 0.6648\n",
      "Epoch 24/200\n",
      "368/368 [==============================] - 0s 115us/step - loss: 0.7171 - acc: 0.6576 - val_loss: 0.7019 - val_acc: 0.6758\n",
      "Epoch 25/200\n",
      "368/368 [==============================] - 0s 117us/step - loss: 0.7379 - acc: 0.6332 - val_loss: 0.7430 - val_acc: 0.6978\n",
      "Epoch 26/200\n",
      "368/368 [==============================] - 0s 121us/step - loss: 0.7440 - acc: 0.6495 - val_loss: 0.8017 - val_acc: 0.6264\n",
      "Epoch 27/200\n",
      "368/368 [==============================] - 0s 141us/step - loss: 0.7160 - acc: 0.6495 - val_loss: 0.7220 - val_acc: 0.6648\n",
      "Epoch 28/200\n",
      "368/368 [==============================] - 0s 130us/step - loss: 0.6901 - acc: 0.6603 - val_loss: 0.7111 - val_acc: 0.6484\n",
      "Epoch 29/200\n",
      "368/368 [==============================] - 0s 127us/step - loss: 0.7179 - acc: 0.6576 - val_loss: 0.8130 - val_acc: 0.6264\n",
      "Epoch 30/200\n",
      "368/368 [==============================] - 0s 132us/step - loss: 0.6936 - acc: 0.6739 - val_loss: 0.7186 - val_acc: 0.6703\n",
      "Epoch 31/200\n",
      "368/368 [==============================] - 0s 126us/step - loss: 0.7066 - acc: 0.6413 - val_loss: 0.6538 - val_acc: 0.6923\n",
      "Epoch 32/200\n",
      "368/368 [==============================] - 0s 189us/step - loss: 0.6727 - acc: 0.6576 - val_loss: 0.6729 - val_acc: 0.6648\n",
      "Epoch 33/200\n",
      "368/368 [==============================] - 0s 140us/step - loss: 0.6900 - acc: 0.6603 - val_loss: 0.6448 - val_acc: 0.6813\n",
      "Epoch 34/200\n",
      "368/368 [==============================] - 0s 134us/step - loss: 0.7546 - acc: 0.6223 - val_loss: 0.6319 - val_acc: 0.6868\n",
      "Epoch 35/200\n",
      "368/368 [==============================] - 0s 137us/step - loss: 0.7089 - acc: 0.6413 - val_loss: 0.7842 - val_acc: 0.6099\n",
      "Epoch 36/200\n",
      "368/368 [==============================] - 0s 132us/step - loss: 0.6914 - acc: 0.6440 - val_loss: 0.6411 - val_acc: 0.6868\n",
      "Epoch 37/200\n",
      "368/368 [==============================] - 0s 123us/step - loss: 0.6707 - acc: 0.6603 - val_loss: 0.7353 - val_acc: 0.7033\n",
      "Epoch 38/200\n",
      "368/368 [==============================] - 0s 135us/step - loss: 0.6911 - acc: 0.6685 - val_loss: 0.6231 - val_acc: 0.7198\n",
      "Epoch 39/200\n",
      "368/368 [==============================] - 0s 116us/step - loss: 0.6434 - acc: 0.6630 - val_loss: 0.6146 - val_acc: 0.7033\n",
      "Epoch 40/200\n",
      "368/368 [==============================] - 0s 154us/step - loss: 0.6457 - acc: 0.6603 - val_loss: 0.6329 - val_acc: 0.6868\n",
      "Epoch 41/200\n",
      "368/368 [==============================] - 0s 139us/step - loss: 0.6627 - acc: 0.6413 - val_loss: 0.6627 - val_acc: 0.6758\n",
      "Epoch 42/200\n",
      "368/368 [==============================] - 0s 123us/step - loss: 0.6508 - acc: 0.6522 - val_loss: 0.6146 - val_acc: 0.7363\n",
      "Epoch 43/200\n",
      "368/368 [==============================] - 0s 131us/step - loss: 0.6323 - acc: 0.6793 - val_loss: 0.6158 - val_acc: 0.7253\n",
      "Epoch 44/200\n",
      "368/368 [==============================] - 0s 126us/step - loss: 0.6494 - acc: 0.6603 - val_loss: 0.6243 - val_acc: 0.7198\n",
      "Epoch 45/200\n",
      "368/368 [==============================] - 0s 133us/step - loss: 0.6305 - acc: 0.6658 - val_loss: 0.6180 - val_acc: 0.7253\n",
      "Epoch 46/200\n",
      "368/368 [==============================] - 0s 139us/step - loss: 0.6390 - acc: 0.6658 - val_loss: 0.6216 - val_acc: 0.7198\n",
      "Epoch 47/200\n",
      "368/368 [==============================] - 0s 136us/step - loss: 0.6451 - acc: 0.6739 - val_loss: 0.6214 - val_acc: 0.7143\n",
      "Epoch 48/200\n",
      "368/368 [==============================] - 0s 125us/step - loss: 0.6313 - acc: 0.6875 - val_loss: 0.7335 - val_acc: 0.5934\n",
      "Epoch 49/200\n",
      "368/368 [==============================] - 0s 135us/step - loss: 0.6816 - acc: 0.6413 - val_loss: 0.6016 - val_acc: 0.7308\n",
      "Epoch 50/200\n",
      "368/368 [==============================] - 0s 143us/step - loss: 0.6189 - acc: 0.6902 - val_loss: 0.6101 - val_acc: 0.7143\n",
      "Epoch 51/200\n",
      "368/368 [==============================] - 0s 154us/step - loss: 0.6437 - acc: 0.6495 - val_loss: 0.7558 - val_acc: 0.6044\n",
      "Epoch 52/200\n",
      "368/368 [==============================] - 0s 129us/step - loss: 0.6547 - acc: 0.6630 - val_loss: 0.6357 - val_acc: 0.7088\n",
      "Epoch 53/200\n",
      "368/368 [==============================] - 0s 126us/step - loss: 0.6224 - acc: 0.6712 - val_loss: 0.6882 - val_acc: 0.7033\n",
      "Epoch 54/200\n",
      "368/368 [==============================] - 0s 117us/step - loss: 0.6816 - acc: 0.6549 - val_loss: 0.6295 - val_acc: 0.6978\n",
      "Epoch 55/200\n",
      "368/368 [==============================] - 0s 107us/step - loss: 0.6939 - acc: 0.6522 - val_loss: 0.6147 - val_acc: 0.7363\n",
      "Epoch 56/200\n",
      "368/368 [==============================] - 0s 113us/step - loss: 0.6148 - acc: 0.6929 - val_loss: 0.5966 - val_acc: 0.7253\n",
      "Epoch 57/200\n",
      "368/368 [==============================] - 0s 104us/step - loss: 0.6305 - acc: 0.6685 - val_loss: 0.6055 - val_acc: 0.7143\n",
      "Epoch 58/200\n",
      "368/368 [==============================] - 0s 95us/step - loss: 0.6202 - acc: 0.7011 - val_loss: 0.5971 - val_acc: 0.7253\n",
      "Epoch 59/200\n",
      "368/368 [==============================] - 0s 102us/step - loss: 0.6282 - acc: 0.6630 - val_loss: 0.7579 - val_acc: 0.7033\n",
      "Epoch 60/200\n",
      "368/368 [==============================] - 0s 117us/step - loss: 0.6813 - acc: 0.6603 - val_loss: 0.6546 - val_acc: 0.6703\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 61/200\n",
      "368/368 [==============================] - 0s 111us/step - loss: 0.6377 - acc: 0.6522 - val_loss: 0.6144 - val_acc: 0.6868\n",
      "Epoch 62/200\n",
      "368/368 [==============================] - 0s 110us/step - loss: 0.6445 - acc: 0.6576 - val_loss: 0.5986 - val_acc: 0.7418\n",
      "Epoch 63/200\n",
      "368/368 [==============================] - 0s 113us/step - loss: 0.6341 - acc: 0.6522 - val_loss: 0.5842 - val_acc: 0.7363\n",
      "Epoch 64/200\n",
      "368/368 [==============================] - 0s 112us/step - loss: 0.6222 - acc: 0.6957 - val_loss: 0.5857 - val_acc: 0.7363\n",
      "Epoch 65/200\n",
      "368/368 [==============================] - 0s 105us/step - loss: 0.6173 - acc: 0.6766 - val_loss: 0.5810 - val_acc: 0.7308\n",
      "Epoch 66/200\n",
      "368/368 [==============================] - 0s 108us/step - loss: 0.6266 - acc: 0.6712 - val_loss: 0.6173 - val_acc: 0.7088\n",
      "Epoch 67/200\n",
      "368/368 [==============================] - 0s 112us/step - loss: 0.6209 - acc: 0.6658 - val_loss: 0.5988 - val_acc: 0.7418\n",
      "Epoch 68/200\n",
      "368/368 [==============================] - 0s 113us/step - loss: 0.6344 - acc: 0.6658 - val_loss: 0.5751 - val_acc: 0.7253\n",
      "Epoch 69/200\n",
      "368/368 [==============================] - 0s 116us/step - loss: 0.6732 - acc: 0.6630 - val_loss: 0.6034 - val_acc: 0.7143\n",
      "Epoch 70/200\n",
      "368/368 [==============================] - 0s 117us/step - loss: 0.6057 - acc: 0.6848 - val_loss: 0.6520 - val_acc: 0.6593\n",
      "Epoch 71/200\n",
      "368/368 [==============================] - 0s 119us/step - loss: 0.6286 - acc: 0.6603 - val_loss: 0.6168 - val_acc: 0.7143\n",
      "Epoch 72/200\n",
      "368/368 [==============================] - 0s 117us/step - loss: 0.6473 - acc: 0.6359 - val_loss: 0.6104 - val_acc: 0.7033\n",
      "Epoch 73/200\n",
      "368/368 [==============================] - 0s 117us/step - loss: 0.6142 - acc: 0.6658 - val_loss: 0.5757 - val_acc: 0.7418\n",
      "Epoch 74/200\n",
      "368/368 [==============================] - 0s 108us/step - loss: 0.6171 - acc: 0.6440 - val_loss: 0.5746 - val_acc: 0.7198\n",
      "Epoch 75/200\n",
      "368/368 [==============================] - 0s 112us/step - loss: 0.5953 - acc: 0.6929 - val_loss: 0.6128 - val_acc: 0.7088\n",
      "Epoch 76/200\n",
      "368/368 [==============================] - 0s 115us/step - loss: 0.6001 - acc: 0.6875 - val_loss: 0.5922 - val_acc: 0.7253\n",
      "Epoch 77/200\n",
      "368/368 [==============================] - 0s 142us/step - loss: 0.6069 - acc: 0.6875 - val_loss: 0.5829 - val_acc: 0.7308\n",
      "Epoch 78/200\n",
      "368/368 [==============================] - 0s 114us/step - loss: 0.6454 - acc: 0.6712 - val_loss: 0.6655 - val_acc: 0.7088\n",
      "Epoch 79/200\n",
      "368/368 [==============================] - 0s 112us/step - loss: 0.6206 - acc: 0.6821 - val_loss: 0.6522 - val_acc: 0.6758\n",
      "Epoch 80/200\n",
      "368/368 [==============================] - 0s 118us/step - loss: 0.6342 - acc: 0.6522 - val_loss: 0.5966 - val_acc: 0.7253\n",
      "Epoch 81/200\n",
      "368/368 [==============================] - 0s 107us/step - loss: 0.6233 - acc: 0.6766 - val_loss: 0.5691 - val_acc: 0.7253\n",
      "Epoch 82/200\n",
      "368/368 [==============================] - 0s 109us/step - loss: 0.6013 - acc: 0.7120 - val_loss: 0.5687 - val_acc: 0.7143\n",
      "Epoch 83/200\n",
      "368/368 [==============================] - 0s 112us/step - loss: 0.6099 - acc: 0.7038 - val_loss: 0.6508 - val_acc: 0.7088\n",
      "Epoch 84/200\n",
      "368/368 [==============================] - 0s 109us/step - loss: 0.6164 - acc: 0.6957 - val_loss: 0.5746 - val_acc: 0.7143\n",
      "Epoch 85/200\n",
      "368/368 [==============================] - 0s 105us/step - loss: 0.6043 - acc: 0.6739 - val_loss: 0.5704 - val_acc: 0.7418\n",
      "Epoch 86/200\n",
      "368/368 [==============================] - 0s 106us/step - loss: 0.6105 - acc: 0.6821 - val_loss: 0.5867 - val_acc: 0.7418\n",
      "Epoch 87/200\n",
      "368/368 [==============================] - 0s 104us/step - loss: 0.6406 - acc: 0.6658 - val_loss: 0.6136 - val_acc: 0.6923\n",
      "Epoch 88/200\n",
      "368/368 [==============================] - 0s 108us/step - loss: 0.6083 - acc: 0.6957 - val_loss: 0.5874 - val_acc: 0.7308\n",
      "Epoch 89/200\n",
      "368/368 [==============================] - 0s 104us/step - loss: 0.5920 - acc: 0.7065 - val_loss: 0.5634 - val_acc: 0.7308\n",
      "Epoch 90/200\n",
      "368/368 [==============================] - 0s 108us/step - loss: 0.6010 - acc: 0.6821 - val_loss: 0.5663 - val_acc: 0.7473\n",
      "Epoch 91/200\n",
      "368/368 [==============================] - 0s 106us/step - loss: 0.6174 - acc: 0.6902 - val_loss: 0.5655 - val_acc: 0.7473\n",
      "Epoch 92/200\n",
      "368/368 [==============================] - ETA: 0s - loss: 0.6934 - acc: 0.650 - 0s 102us/step - loss: 0.6128 - acc: 0.6576 - val_loss: 0.5673 - val_acc: 0.7527\n",
      "Epoch 93/200\n",
      "368/368 [==============================] - 0s 108us/step - loss: 0.6051 - acc: 0.6848 - val_loss: 0.5587 - val_acc: 0.7308\n",
      "Epoch 94/200\n",
      "368/368 [==============================] - 0s 107us/step - loss: 0.5941 - acc: 0.7120 - val_loss: 0.5779 - val_acc: 0.7473\n",
      "Epoch 95/200\n",
      "368/368 [==============================] - 0s 111us/step - loss: 0.5947 - acc: 0.6957 - val_loss: 0.5826 - val_acc: 0.7308\n",
      "Epoch 96/200\n",
      "368/368 [==============================] - 0s 107us/step - loss: 0.6363 - acc: 0.6766 - val_loss: 0.5672 - val_acc: 0.7418\n",
      "Epoch 97/200\n",
      "368/368 [==============================] - 0s 110us/step - loss: 0.6728 - acc: 0.6685 - val_loss: 0.6266 - val_acc: 0.6758\n",
      "Epoch 98/200\n",
      "368/368 [==============================] - 0s 109us/step - loss: 0.6499 - acc: 0.6739 - val_loss: 0.6073 - val_acc: 0.7198\n",
      "Epoch 99/200\n",
      "368/368 [==============================] - 0s 110us/step - loss: 0.6308 - acc: 0.6848 - val_loss: 0.5566 - val_acc: 0.7473\n",
      "Epoch 100/200\n",
      "368/368 [==============================] - 0s 107us/step - loss: 0.5915 - acc: 0.6902 - val_loss: 0.5768 - val_acc: 0.7418\n",
      "Epoch 101/200\n",
      "368/368 [==============================] - 0s 113us/step - loss: 0.6103 - acc: 0.6793 - val_loss: 0.5954 - val_acc: 0.7363\n",
      "Epoch 102/200\n",
      "368/368 [==============================] - 0s 109us/step - loss: 0.5964 - acc: 0.7065 - val_loss: 0.5883 - val_acc: 0.7473\n",
      "Epoch 103/200\n",
      "368/368 [==============================] - 0s 113us/step - loss: 0.5862 - acc: 0.7092 - val_loss: 0.5678 - val_acc: 0.7527\n",
      "Epoch 104/200\n",
      "368/368 [==============================] - 0s 107us/step - loss: 0.6087 - acc: 0.6848 - val_loss: 0.5814 - val_acc: 0.7363\n",
      "Epoch 105/200\n",
      "368/368 [==============================] - 0s 109us/step - loss: 0.5875 - acc: 0.7038 - val_loss: 0.5527 - val_acc: 0.7363\n",
      "Epoch 106/200\n",
      "368/368 [==============================] - 0s 110us/step - loss: 0.6133 - acc: 0.6929 - val_loss: 0.5528 - val_acc: 0.7253\n",
      "Epoch 107/200\n",
      "368/368 [==============================] - 0s 108us/step - loss: 0.5947 - acc: 0.6929 - val_loss: 0.6411 - val_acc: 0.6758\n",
      "Epoch 108/200\n",
      "368/368 [==============================] - 0s 108us/step - loss: 0.5949 - acc: 0.6929 - val_loss: 0.5586 - val_acc: 0.7363\n",
      "Epoch 109/200\n",
      "368/368 [==============================] - 0s 122us/step - loss: 0.5955 - acc: 0.6902 - val_loss: 0.6376 - val_acc: 0.6868\n",
      "Epoch 110/200\n",
      "368/368 [==============================] - 0s 103us/step - loss: 0.6238 - acc: 0.6630 - val_loss: 0.5737 - val_acc: 0.7473\n",
      "Epoch 111/200\n",
      "368/368 [==============================] - 0s 101us/step - loss: 0.6031 - acc: 0.6603 - val_loss: 0.5519 - val_acc: 0.7363\n",
      "Epoch 112/200\n",
      "368/368 [==============================] - 0s 104us/step - loss: 0.5806 - acc: 0.7147 - val_loss: 0.5622 - val_acc: 0.7582\n",
      "Epoch 113/200\n",
      "368/368 [==============================] - 0s 110us/step - loss: 0.6425 - acc: 0.6685 - val_loss: 0.5795 - val_acc: 0.7418\n",
      "Epoch 114/200\n",
      "368/368 [==============================] - 0s 100us/step - loss: 0.5944 - acc: 0.6929 - val_loss: 0.5514 - val_acc: 0.7418\n",
      "Epoch 115/200\n",
      "368/368 [==============================] - 0s 100us/step - loss: 0.6093 - acc: 0.6603 - val_loss: 0.5496 - val_acc: 0.7473\n",
      "Epoch 116/200\n",
      "368/368 [==============================] - 0s 110us/step - loss: 0.6070 - acc: 0.7092 - val_loss: 0.5597 - val_acc: 0.7473\n",
      "Epoch 117/200\n",
      "368/368 [==============================] - 0s 106us/step - loss: 0.5730 - acc: 0.7147 - val_loss: 0.5558 - val_acc: 0.7527\n",
      "Epoch 118/200\n",
      "368/368 [==============================] - 0s 120us/step - loss: 0.5921 - acc: 0.6875 - val_loss: 0.5842 - val_acc: 0.7198\n",
      "Epoch 119/200\n",
      "368/368 [==============================] - 0s 125us/step - loss: 0.6351 - acc: 0.6739 - val_loss: 0.5524 - val_acc: 0.7582\n",
      "Epoch 120/200\n",
      "368/368 [==============================] - 0s 106us/step - loss: 0.5903 - acc: 0.6929 - val_loss: 0.5478 - val_acc: 0.7418\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 121/200\n",
      "368/368 [==============================] - 0s 113us/step - loss: 0.6018 - acc: 0.6848 - val_loss: 0.5420 - val_acc: 0.7473\n",
      "Epoch 122/200\n",
      "368/368 [==============================] - 0s 110us/step - loss: 0.5902 - acc: 0.6766 - val_loss: 0.5691 - val_acc: 0.7527\n",
      "Epoch 123/200\n",
      "368/368 [==============================] - 0s 115us/step - loss: 0.5841 - acc: 0.6902 - val_loss: 0.5578 - val_acc: 0.7527\n",
      "Epoch 124/200\n",
      "368/368 [==============================] - 0s 114us/step - loss: 0.5743 - acc: 0.7011 - val_loss: 0.5849 - val_acc: 0.7033\n",
      "Epoch 125/200\n",
      "368/368 [==============================] - 0s 113us/step - loss: 0.6561 - acc: 0.6549 - val_loss: 0.5655 - val_acc: 0.7308\n",
      "Epoch 126/200\n",
      "368/368 [==============================] - 0s 110us/step - loss: 0.6374 - acc: 0.6440 - val_loss: 0.5867 - val_acc: 0.7363\n",
      "Epoch 127/200\n",
      "368/368 [==============================] - 0s 106us/step - loss: 0.6177 - acc: 0.6848 - val_loss: 0.5717 - val_acc: 0.7692\n",
      "Epoch 128/200\n",
      "368/368 [==============================] - 0s 111us/step - loss: 0.5882 - acc: 0.7065 - val_loss: 0.6778 - val_acc: 0.6648\n",
      "Epoch 129/200\n",
      "368/368 [==============================] - 0s 106us/step - loss: 0.5889 - acc: 0.7011 - val_loss: 0.5653 - val_acc: 0.7527\n",
      "Epoch 130/200\n",
      "368/368 [==============================] - 0s 111us/step - loss: 0.5716 - acc: 0.7120 - val_loss: 0.7057 - val_acc: 0.6484\n",
      "Epoch 131/200\n",
      "368/368 [==============================] - 0s 107us/step - loss: 0.6713 - acc: 0.6440 - val_loss: 0.6354 - val_acc: 0.6374\n",
      "Epoch 132/200\n",
      "368/368 [==============================] - 0s 110us/step - loss: 0.6219 - acc: 0.6848 - val_loss: 0.5392 - val_acc: 0.7527\n",
      "Epoch 133/200\n",
      "368/368 [==============================] - 0s 109us/step - loss: 0.5829 - acc: 0.6984 - val_loss: 0.5682 - val_acc: 0.7308\n",
      "Epoch 134/200\n",
      "368/368 [==============================] - 0s 110us/step - loss: 0.6000 - acc: 0.7011 - val_loss: 0.5586 - val_acc: 0.7637\n",
      "Epoch 135/200\n",
      "368/368 [==============================] - 0s 108us/step - loss: 0.6520 - acc: 0.6522 - val_loss: 0.5659 - val_acc: 0.7418\n",
      "Epoch 136/200\n",
      "368/368 [==============================] - 0s 108us/step - loss: 0.6029 - acc: 0.6848 - val_loss: 0.5522 - val_acc: 0.7418\n",
      "Epoch 137/200\n",
      "368/368 [==============================] - 0s 106us/step - loss: 0.5747 - acc: 0.7120 - val_loss: 0.5358 - val_acc: 0.7473\n",
      "Epoch 138/200\n",
      "368/368 [==============================] - 0s 112us/step - loss: 0.6010 - acc: 0.6848 - val_loss: 0.5465 - val_acc: 0.7637\n",
      "Epoch 139/200\n",
      "368/368 [==============================] - 0s 105us/step - loss: 0.6027 - acc: 0.6766 - val_loss: 0.6121 - val_acc: 0.6978\n",
      "Epoch 140/200\n",
      "368/368 [==============================] - 0s 107us/step - loss: 0.5846 - acc: 0.7174 - val_loss: 0.5686 - val_acc: 0.7363\n",
      "Epoch 141/200\n",
      "368/368 [==============================] - 0s 106us/step - loss: 0.6376 - acc: 0.6821 - val_loss: 0.5478 - val_acc: 0.7418\n",
      "Epoch 142/200\n",
      "368/368 [==============================] - 0s 110us/step - loss: 0.5924 - acc: 0.7120 - val_loss: 0.5580 - val_acc: 0.7473\n",
      "Epoch 143/200\n",
      "368/368 [==============================] - 0s 108us/step - loss: 0.5829 - acc: 0.7120 - val_loss: 0.5342 - val_acc: 0.7418\n",
      "Epoch 144/200\n",
      "368/368 [==============================] - 0s 106us/step - loss: 0.5747 - acc: 0.7228 - val_loss: 0.5274 - val_acc: 0.7582\n",
      "Epoch 145/200\n",
      "368/368 [==============================] - 0s 113us/step - loss: 0.5944 - acc: 0.6821 - val_loss: 0.5299 - val_acc: 0.7527\n",
      "Epoch 146/200\n",
      "368/368 [==============================] - 0s 115us/step - loss: 0.5591 - acc: 0.6957 - val_loss: 0.5420 - val_acc: 0.7582\n",
      "Epoch 147/200\n",
      "368/368 [==============================] - 0s 107us/step - loss: 0.5837 - acc: 0.7038 - val_loss: 0.5675 - val_acc: 0.7582\n",
      "Epoch 148/200\n",
      "368/368 [==============================] - 0s 106us/step - loss: 0.5834 - acc: 0.6984 - val_loss: 0.5312 - val_acc: 0.7473\n",
      "Epoch 149/200\n",
      "368/368 [==============================] - 0s 107us/step - loss: 0.5767 - acc: 0.6766 - val_loss: 0.5413 - val_acc: 0.7582\n",
      "Epoch 150/200\n",
      "368/368 [==============================] - 0s 106us/step - loss: 0.5564 - acc: 0.7310 - val_loss: 0.5758 - val_acc: 0.7473\n",
      "Epoch 151/200\n",
      "368/368 [==============================] - 0s 106us/step - loss: 0.5869 - acc: 0.6957 - val_loss: 0.5756 - val_acc: 0.7527\n",
      "Epoch 152/200\n",
      "368/368 [==============================] - 0s 108us/step - loss: 0.5512 - acc: 0.7364 - val_loss: 0.5341 - val_acc: 0.7418\n",
      "Epoch 153/200\n",
      "368/368 [==============================] - 0s 108us/step - loss: 0.6007 - acc: 0.6821 - val_loss: 0.5238 - val_acc: 0.7527\n",
      "Epoch 154/200\n",
      "368/368 [==============================] - 0s 105us/step - loss: 0.5698 - acc: 0.7038 - val_loss: 0.5848 - val_acc: 0.7088\n",
      "Epoch 155/200\n",
      "368/368 [==============================] - 0s 111us/step - loss: 0.5815 - acc: 0.7011 - val_loss: 0.5357 - val_acc: 0.7637\n",
      "Epoch 156/200\n",
      "368/368 [==============================] - 0s 105us/step - loss: 0.5706 - acc: 0.6957 - val_loss: 0.5294 - val_acc: 0.7527\n",
      "Epoch 157/200\n",
      "368/368 [==============================] - 0s 107us/step - loss: 0.5663 - acc: 0.7147 - val_loss: 0.5931 - val_acc: 0.7363\n",
      "Epoch 158/200\n",
      "368/368 [==============================] - 0s 106us/step - loss: 0.5898 - acc: 0.6902 - val_loss: 0.5273 - val_acc: 0.7473\n",
      "Epoch 159/200\n",
      "368/368 [==============================] - 0s 106us/step - loss: 0.6010 - acc: 0.6984 - val_loss: 0.5571 - val_acc: 0.7637\n",
      "Epoch 160/200\n",
      "368/368 [==============================] - 0s 108us/step - loss: 0.5949 - acc: 0.6603 - val_loss: 0.5295 - val_acc: 0.7637\n",
      "Epoch 161/200\n",
      "368/368 [==============================] - 0s 109us/step - loss: 0.5902 - acc: 0.6929 - val_loss: 0.5186 - val_acc: 0.7747\n",
      "Epoch 162/200\n",
      "368/368 [==============================] - 0s 110us/step - loss: 0.5669 - acc: 0.7201 - val_loss: 0.5299 - val_acc: 0.7527\n",
      "Epoch 163/200\n",
      "368/368 [==============================] - 0s 106us/step - loss: 0.5801 - acc: 0.7147 - val_loss: 0.5408 - val_acc: 0.7418\n",
      "Epoch 164/200\n",
      "368/368 [==============================] - 0s 106us/step - loss: 0.5808 - acc: 0.7147 - val_loss: 0.5308 - val_acc: 0.7582\n",
      "Epoch 165/200\n",
      "368/368 [==============================] - 0s 105us/step - loss: 0.5595 - acc: 0.7283 - val_loss: 0.5276 - val_acc: 0.7637\n",
      "Epoch 166/200\n",
      "368/368 [==============================] - 0s 107us/step - loss: 0.5719 - acc: 0.7092 - val_loss: 0.5642 - val_acc: 0.7473\n",
      "Epoch 167/200\n",
      "368/368 [==============================] - 0s 108us/step - loss: 0.5571 - acc: 0.7283 - val_loss: 0.5258 - val_acc: 0.7637\n",
      "Epoch 168/200\n",
      "368/368 [==============================] - 0s 108us/step - loss: 0.5606 - acc: 0.7255 - val_loss: 0.5351 - val_acc: 0.7582\n",
      "Epoch 169/200\n",
      "368/368 [==============================] - 0s 110us/step - loss: 0.5792 - acc: 0.7120 - val_loss: 0.5309 - val_acc: 0.7527\n",
      "Epoch 170/200\n",
      "368/368 [==============================] - 0s 113us/step - loss: 0.5830 - acc: 0.7011 - val_loss: 0.6061 - val_acc: 0.6374\n",
      "Epoch 171/200\n",
      "368/368 [==============================] - 0s 108us/step - loss: 0.5749 - acc: 0.7011 - val_loss: 0.6421 - val_acc: 0.6813\n",
      "Epoch 172/200\n",
      "368/368 [==============================] - 0s 109us/step - loss: 0.6769 - acc: 0.6304 - val_loss: 0.5212 - val_acc: 0.7582\n",
      "Epoch 173/200\n",
      "368/368 [==============================] - 0s 102us/step - loss: 0.5691 - acc: 0.6984 - val_loss: 0.5444 - val_acc: 0.7363\n",
      "Epoch 174/200\n",
      "368/368 [==============================] - 0s 103us/step - loss: 0.5869 - acc: 0.7065 - val_loss: 0.6687 - val_acc: 0.6099\n",
      "Epoch 175/200\n",
      "368/368 [==============================] - 0s 101us/step - loss: 0.5905 - acc: 0.6821 - val_loss: 0.5657 - val_acc: 0.7253\n",
      "Epoch 176/200\n",
      "368/368 [==============================] - 0s 106us/step - loss: 0.5827 - acc: 0.7011 - val_loss: 0.5563 - val_acc: 0.7582\n",
      "Epoch 177/200\n",
      "368/368 [==============================] - 0s 101us/step - loss: 0.5762 - acc: 0.6957 - val_loss: 0.5123 - val_acc: 0.7637\n",
      "Epoch 178/200\n",
      "368/368 [==============================] - 0s 97us/step - loss: 0.5982 - acc: 0.6957 - val_loss: 0.5508 - val_acc: 0.7473\n",
      "Epoch 179/200\n",
      "368/368 [==============================] - 0s 102us/step - loss: 0.5671 - acc: 0.7038 - val_loss: 0.5403 - val_acc: 0.7473\n",
      "Epoch 180/200\n",
      "368/368 [==============================] - 0s 108us/step - loss: 0.5644 - acc: 0.7228 - val_loss: 0.5101 - val_acc: 0.7747\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 181/200\n",
      "368/368 [==============================] - 0s 103us/step - loss: 0.5680 - acc: 0.7011 - val_loss: 0.5415 - val_acc: 0.7473\n",
      "Epoch 182/200\n",
      "368/368 [==============================] - 0s 109us/step - loss: 0.5675 - acc: 0.7391 - val_loss: 0.5418 - val_acc: 0.7637\n",
      "Epoch 183/200\n",
      "368/368 [==============================] - 0s 112us/step - loss: 0.5640 - acc: 0.7147 - val_loss: 0.5773 - val_acc: 0.6868\n",
      "Epoch 184/200\n",
      "368/368 [==============================] - 0s 100us/step - loss: 0.5662 - acc: 0.7092 - val_loss: 0.5152 - val_acc: 0.7692\n",
      "Epoch 185/200\n",
      "368/368 [==============================] - 0s 109us/step - loss: 0.5595 - acc: 0.7092 - val_loss: 0.5194 - val_acc: 0.7473\n",
      "Epoch 186/200\n",
      "368/368 [==============================] - 0s 101us/step - loss: 0.5551 - acc: 0.7283 - val_loss: 0.5091 - val_acc: 0.7857\n",
      "Epoch 187/200\n",
      "368/368 [==============================] - 0s 97us/step - loss: 0.5466 - acc: 0.7337 - val_loss: 0.5216 - val_acc: 0.7527\n",
      "Epoch 188/200\n",
      "368/368 [==============================] - 0s 104us/step - loss: 0.5549 - acc: 0.7174 - val_loss: 0.5171 - val_acc: 0.7637\n",
      "Epoch 189/200\n",
      "368/368 [==============================] - 0s 102us/step - loss: 0.6109 - acc: 0.6685 - val_loss: 0.5070 - val_acc: 0.7802\n",
      "Epoch 190/200\n",
      "368/368 [==============================] - 0s 105us/step - loss: 0.5638 - acc: 0.7310 - val_loss: 0.5222 - val_acc: 0.7527\n",
      "Epoch 191/200\n",
      "368/368 [==============================] - 0s 99us/step - loss: 0.5923 - acc: 0.6957 - val_loss: 0.6826 - val_acc: 0.7143\n",
      "Epoch 192/200\n",
      "368/368 [==============================] - 0s 112us/step - loss: 0.6457 - acc: 0.6929 - val_loss: 0.5165 - val_acc: 0.7582\n",
      "Epoch 193/200\n",
      "368/368 [==============================] - 0s 104us/step - loss: 0.5866 - acc: 0.7011 - val_loss: 0.5525 - val_acc: 0.7582\n",
      "Epoch 194/200\n",
      "368/368 [==============================] - ETA: 0s - loss: 0.5194 - acc: 0.750 - 0s 99us/step - loss: 0.5591 - acc: 0.7255 - val_loss: 0.5156 - val_acc: 0.7582\n",
      "Epoch 195/200\n",
      "368/368 [==============================] - 0s 113us/step - loss: 0.5541 - acc: 0.7391 - val_loss: 0.5244 - val_acc: 0.7692\n",
      "Epoch 196/200\n",
      "368/368 [==============================] - 0s 104us/step - loss: 0.5517 - acc: 0.7228 - val_loss: 0.5108 - val_acc: 0.7692\n",
      "Epoch 197/200\n",
      "368/368 [==============================] - ETA: 0s - loss: 0.6342 - acc: 0.700 - 0s 111us/step - loss: 0.5691 - acc: 0.7201 - val_loss: 0.5500 - val_acc: 0.7308\n",
      "Epoch 198/200\n",
      "368/368 [==============================] - 0s 111us/step - loss: 0.5447 - acc: 0.7364 - val_loss: 0.5103 - val_acc: 0.7473\n",
      "Epoch 199/200\n",
      "368/368 [==============================] - 0s 107us/step - loss: 0.5446 - acc: 0.7228 - val_loss: 0.5217 - val_acc: 0.7582\n",
      "Epoch 200/200\n",
      "368/368 [==============================] - 0s 109us/step - loss: 0.5609 - acc: 0.7120 - val_loss: 0.5478 - val_acc: 0.7418\n"
     ]
    }
   ],
   "source": [
    "s = model.fit(X_train, y_train, validation_split=0.33, epochs=200, batch_size = 20);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {},
   "outputs": [],
   "source": [
    "val_acc = s.history['val_acc']\n",
    "train_acc = s.history['acc']\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x11bbe1748>"
      ]
     },
     "execution_count": 112,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nJwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x126caf358>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(val_acc)\n",
    "plt.plot(train_acc, 'r', label = 'train')\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x11c09beb8>,\n",
       " <matplotlib.lines.Line2D at 0x11c0a7048>,\n",
       " <matplotlib.lines.Line2D at 0x11c0a7198>,\n",
       " <matplotlib.lines.Line2D at 0x11c0a72e8>,\n",
       " <matplotlib.lines.Line2D at 0x11c0a7438>,\n",
       " <matplotlib.lines.Line2D at 0x11c0a7588>,\n",
       " <matplotlib.lines.Line2D at 0x11c0a76d8>,\n",
       " <matplotlib.lines.Line2D at 0x11c0a7828>,\n",
       " <matplotlib.lines.Line2D at 0x11c0a7978>,\n",
       " <matplotlib.lines.Line2D at 0x11c0a7ac8>,\n",
       " <matplotlib.lines.Line2D at 0x11c0825c0>,\n",
       " <matplotlib.lines.Line2D at 0x11c0a7d30>]"
      ]
     },
     "execution_count": 118,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11bc33cf8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(model.layers[0].get_weights()[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "550/550 [==============================] - 0s 28us/step\n",
      "218/218 [==============================] - 0s 32us/step\n",
      "train acc= 0.721818181601  test acc= 0.715596328635\n"
     ]
    }
   ],
   "source": [
    "#evaluate the model \n",
    "s_train = model.evaluate(X_train, y_train)\n",
    "s_test = model.evaluate(X_test, y_test)\n",
    "print('train acc=' , s_train[1], ' test acc=', s_test[1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "()"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_test.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id='references'></a>\n",
    "### References and Where to Learning More\n",
    "\n",
    "* Most of this introduction is based on the book [Deep Learning with Python](https://www.manning.com/books/deep-learning-with-python) written by the author of Keras. It is a very practical introduction to Deep Learning. It is appropriate for those with some Python knowledge who want to start with machine learning.\n",
    "* [Deep Learning Book](http://www.deeplearningbook.org/) is a theoretical book in three parts: 1) The mathematical\n",
    "basis for Deep Learning, 2) Modern Practice Deep Networks, 3) Deep Learning Research. It is a good second book after getting some practical initial experience.\n",
    "* https://machinelearningmastery.com/deep-learning-with-python/ \n",
    "\n",
    "We also recommend Andrew Ng's online course: https://www.deeplearning.ai/\n",
    "\n",
    "Harvard FAS has the following undergraduate and graduate level machine learning courses:\n",
    "* [CS109 Introduction to Data Science](https://github.com/cs109). Two semester intensive course on data science including machine learning. Also offered through the Extension School (see below).\n",
    "* [CS181: Machine Learning](https://harvard-ml-courses.github.io/cs181-web-2017/)\n",
    "* [CS281: Advanced Machine Learning](https://harvard-ml-courses.github.io/cs281-web/)\n",
    "* CS282R: Topics in Machine Learning. Graduate level exploration of machine learning. Topics vary \n",
    "every iteration.\n",
    "* [CS287: Natural Language Processing](https://github.com/harvard-ml-courses/cs287-s18)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
